 Ext.define('aps.modificarSolicitudeCambioPanel', {
    extend: 'Ext.form.Panel',
    alias : 'aps.modificarSolicitudeCambioPanel',

    title :   'Modificar Solicitu de Cambio',
    id:       'panel_modificar_solicitud_cambio',
    name:     'panel_modificar_solicitud_cambio',
    layout:   'fit',
    frame:    true,
    closable: true,
    border:   false,initComponent: function() {
    	var records = Ext.getCmp('solicitud_cambio_grid_id').getSelectionModel().getSelection();
        var sms = Ext.create('Ext.selection.CheckboxModel',{
        	mode : 'SIMPLE'
        });
        var grid_items = Ext.create('aps.itemSolicitudGrid',{
            id: 'el-tera-id-solicitud-modificar',
            columnLines: true,
            margin:    '20 0 0 0',
            multiSelect: 'true',
            store: Ext.create('aps.itemSolicitudConsultaStore',{
                storeId: 'el-mega-id-solicitud-modificar'
            }),
            selModel: sms
        });
        grid_items.store.load({
            params: {
                idfase : Ext.getCmp('combo-fase').valueModels[0].data.idfase,
                filtro: 'estado',
                valor:  'BLOQUEADO',
                check: true,
                solicitud : true,
                idsolicitud: records[0].data.id  
            }
        	// aca ya 
        });
       this.items = [{
            xtype:      'form',
            title:      'Datos de la Solicitu de Cambio',
            autoScroll: true,
            fieldDefaults: {
                blankText:     'Este campo no puede ser nulo',
                msgTarget:     'side',
                autoFitErrors: false
            },
            items: [
//            {
//                    xtype:      'textfield',
//                    margin:     '5 20 20 20',
//                    name :      'nombre',
//                    width:       480,
//                    labelWidth:  150,
//                    fieldLabel: '<b>Nombre de la SolicitudeCambio</b>',
//                    allowBlank: false
//                },
             {
                    xtype:      'textfield',
                    margin:     '5 20 20 20',
                    name :      'descripcion',
                    width:       480,
                    labelWidth:  150,
                    fieldLabel: '<b>Descripcion</b>',
                    allowBlank: false
               }, {
                    xtype:     'label',
                    style:     'font-weight:bold;',
                    text:      'Seleccione los items que formaran parte de la Solicitu de Cambio',
                    margin:    '5 20 20 20',
                },
                    grid_items
            ]
        }];

        this.buttons =[{
            text:     'Guardar',
            iconCls:  'save-icon',
            grid:     grid_items,
            handler:  this.form_submit_handler
        }, {
            text:    'Cancelar',
            iconCls: 'cancel-icon',            
            handler: this.form_cancel_handler
        }, {
            text:    'Limpiar',
            iconCls: 'clear-icon',
            handler: this.form_reset_handler
        }];
        
        this.listeners = {
            close : function(){
                // actualizamos el store
                var store = Ext.data.StoreManager.lookup('solicitud_cambioStore');
                store.load({
                    params: {
                    idfase : Ext.getCmp('combo-fase').valueModels[0].data.idfase,
                    }
                }); 
                // volvemos al panel de administracion
                Ext.getCmp('area-central').agregar_pestanha('panel_administrar_solicitud_cambio', null);
            }
        };
        
        this.callParent(arguments);
    },
    
    form_submit_handler: function(){
        var records = this.grid.getSelectionModel().getSelection();
        if(records == null || records.length == 0){
            Ext.Msg.alert('ERROR','Debe seleccionar un item para asignar');
        }
        else{
            var asignados = [];
            for(var i=0;i<records.length;i++){
                asignados.push(records[i].data.id);
            }
            var id_fase = Ext.getCmp('combo-fase').valueModels[0].data.idfase;
            var post = {'id_fase':id_fase, 'data':asignados}
            var self = this;
            var form = self.up('form').getForm();
            var records = Ext.getCmp('solicitud_cambio_grid_id').getSelectionModel().getSelection();
            if(form.isValid()){
                form.submit({
                    method:    'POST',
                    url:       '/modificar_solicitud',
                    params: {data : Ext.encode(post),
                    		id: records[0].data.id
                    	
                    },
                    waitTitle: 'Connecting', 
                    waitMsg:   'Sending data...',
                    success: function(form,action){
                        Ext.Msg.alert('INFO','Registro almacenado con exito!', function(btn, text){
                            if (btn == 'ok'){
                                self.up('panel').close();
                            }
                        });
                    },
                    failure: function(form, action){
                        Ext.Msg.alert('ERROR','Ocurrio un problema al guardar el registro!');
                    }
                });
            }
         }   
    },
    
    form_reset_handler: function() {
        var form = this.up('form').getForm();
        form.reset();
        form.findField("nombre").focus(true,100);
    },
    
    form_cancel_handler: function() {
        this.up('panel').close();
    }
});


